Businesses and consumers rely on information processing infrastructures for accessing and sharing information. The information or data is often organized and kept in records for ease of access by multiple users or applications. When the collection of information is organized in electronically accessible records, it is managed and updated by computers. These electronically accessible records can be stored into operational databases. The information in the operational databases is often represented as strings. For example, customer names, addresses, etc. are represented in the databases as strings. However, the information may be represented differently across related databases. As a result, applications retrieving such data may utilize flexible string matching tools that maintain indexes over the database tables. However, these databases are often extremely large (e.g., containing possibly tens of millions of records) and updates to the databases may occur frequently. For example, the databases are continuously being accessed and modified by multiple applications. In order to take into account the updates in the underlying database tables, the tools may need to re-compute the indexes. Unfortunately, the processing cost of re-computing the indexes in such a dynamically updated database is computationally expensive.
Therefore, there is a need for a method that efficiently propagates updates in flexible string matching tools.